Como usar maven para crear una imagen de un programa desarrollado con spring (spring-boot).
Primero tenemos que importar el siguiente plugin en el pom.xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<image>
<name>team2postacademy/api_skill_matrix</name>
</image>
</configuration>
</plugin>
</plugins>
</build>
Tenemos que incluir el código despues de las dependencias tal que así:
En la etiqueta name debemos de introducir el usuairo de docker seguido de barra "/" y seguido del nombre que le queramos dar a la imagen
Una vez hemos añadido el plugin podemos generar la imagen de dos maneras, desde el visual code o desde el terminal
Para generar la imagen desde el Visual Code simplemente tenemos que irnos a:
Maven > Plugins > Spring-Boot > build-Image
Una vez hecho esto ya tendremos la imagen generada dentro de docker
Para realizar la misma operación utilizando el terminal simplemente tenemos que irnos a la carpeta donde tengamos el proyecto y ejecutar el siguiente comando
mvn spring-boot:build-image
Una vez hecho esto ya tendremos la imagen generada dentro de docker
Si queremos consultar si la imagen se ha generado en docker podemos hacerlo con el siguiente comando:
docker images
Si al generar la imagen obtenemos el siguiente error:
[INFO] I/O exception (java.nio.file.NoSuchFileException) caught when processing request to {}->docker://localhost:2376: \\.\pipe\docker_engine
[INFO] Retrying request to {}->docker://localhost:2376
Podemos seguir este manual para configurar la conexion con docker: Configurar Docker en WSL para desplegar imagenes
Docker | Spring | Imagen | deploy